﻿/*
等比数列 
Time Limit:1000MS  Memory Limit:32768K


Description:
已知q与n，求等比数列之和： 1+q+q2+q3+q4+…+qn 

Input:
输入数据含有不多于50对的数据，每对数据含有一个整数n(1≤n≤20)，一个小数q(0<q<2)。 
Output:
对于每组数据n和q，计算其等比数列的和，精确到小数点后3位，每个计算结果应占单独一行。 
Sample Input:
6 0.3 5 1.3

Sample Output:
1.428
12.756
*/
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
	unsigned n;
	double q;
	while (cin>>n>>q)
	{
		cout.precision(3);
		if(fabs(q)<1e-6)
			cout<<fixed<<double(1)<<endl;
		else if (fabs(q-1)<1e-6)
			cout<<fixed<<double(n+1)<<endl;
		else
		{
			cout<<fixed<<(pow(q, int(n+1))-1)/(q-1)<<endl;
		}
	}

	return 0;
}